package cn.tedu;

import java.util.Scanner;

//小蓝同学想买一个价值8888元的新手机，她的旧手机在二手市场能卖1880元，
// 而手机专卖店推出以旧换新的优惠，把她的旧手机交给店家，
// 新手机就能够打7.5折优惠。为了更省钱，小蓝要不要以旧换新？

public class Selection {
    public static void main(String[] args) {
        double a = 8888*0.75;
        double b = 8888-1880;
        if (a <b){
            System.out.println("可以以旧换新,价格是："+a);
        }else{
            System.out.println("不要以旧换新,价格是："+b);
        }

/*绝对值是指一个数在数轴上所对应点到原点的距离，
 用“| |”来表示。负数的绝对值是他去掉负号以后的值，
 而非负数（0和正数）的绝对值是他本身。请定义一个方法，接收用户输入的数字，
 输出绝对值结果。*/

        System.out.println("请您输入一个整数（负数 0 正数）：" );
        int i = new Scanner(System.in).nextInt();
        if (i >= 0){
            System.out.println(i);
        }else{
            System.out.println(-i);
        }
/*       求指定两个数的最大公约数和最小公倍数*/
        System.out.print("请输入两个整数：");
        int q =new Scanner(System.in).nextInt();
        int w = new Scanner(System.in).nextInt();
        int d = zd(q,w);
        long n = zx(q,w);
        System.out.println("最大公约数："+d);
        System.out.println("最小公因数："+w);
    }
    private static int zd(int d, int w) {
        int min = d < w ? d : w;
        for (int i = min; i >= 1; i--) {
            if (d % i == 0 && w % i == 0) {
                return i;
            }
        }
        return 0;
    }
    private static long zx(int d,int w){
        int max = d > w ? d : w;
        for (long i = max; ; i += max) {
            if (i % d == 0 && i % w == 0) {
                return i;
            }
        }
    }

}
